Student Retention Rates and Student Involvement

Author

Hayden Hedges and Lauren Langford

Introduction

  • Comparing student retention across national and liberal arts universities
  • Analyzing how on-campus involvement impacts students’ first year experience
  • How do our findings reflect on Sewanee campus?

National vs Liberal University Retention

schools_ret |>
  ggplot() +
  geom_bar( aes( x = Average_Rate )) +
  labs(x = "Average Rate", y = "Number of Schools") +
  theme_minimal()

Let’s Talk Retention

schools_ret |>
  drop_na( Average_Rate ) |>
  mutate( Average_Rate = sub("%", "", Average_Rate, fixed=T )) |>
  mutate( Average_Rate = as.numeric( Average_Rate ) ) |>
  summarize( Median = median( Average_Rate, na.rm=T ), 
             Average = mean( Average_Rate, na.rm = T )) |>
  tt()
Median Average
95 95.33333
Liberal_Arts_Data_Sheet1 |>
  drop_na( `Average Retention Rate` ) |>
  mutate( `Average Retention Rate` = sub("%", "", `Average Retention Rate`, fixed=T )) |>
  mutate( `Average Retention Rate` = as.numeric( `Average Retention Rate` ) ) |>
  summarize( Median = median( `Average Retention Rate`, na.rm=T ), 
             Average = mean( `Average Retention Rate`, na.rm = T )) |>
  tt()
Median Average
92 91.88333

US Liberal Arts University Retention

Liberal_Arts_Data_Sheet1 |>
  ggplot() +
  geom_bar( aes( x = `Average Retention Rate` )) +
  labs(x = "Average Rate", y = "Number of Schools") +
  theme_minimal()

DIII Retention Rate

group_retention_rates <- read.csv("group_retention_rates.csv")

group_retention_rates <- group_retention_rates |>
  mutate( retentionrate = sub(pattern = "%", replacement = "", retentionrate ) ) |>
mutate( retentionrate = as.numeric( retentionrate )) |> ggplot(aes(x = Group, y = retentionrate )) +
  geom_col(position = "dodge") +
  labs(title = "DIII Bar Chart",
       x = "Student Affiliation", y = "Retention") 
geo_retention <- geo_retention[ 1:51, ]
geo_retention <- geo_retention |>
  select( State, Rate = No) |>
  mutate( Rate = as.numeric( gsub( "%", "", Rate, fixed = TRUE ) ) )

tmap_options(basemap.server = "OpenStreetMap")
tmap_mode("view")
ℹ tmap mode set to "view".
us <- gadm( "USA", level = 1, path = getwd() )
us <- st_as_sf( us ) |>
  filter( NAME_1 != "Alaska", NAME_1 != "Hawaii" )

us <- left_join( us, 
                 geo_retention |> rename( NAME_1 = State) )
Joining with `by = join_by(NAME_1)`
tm_shape( us ) +
  tm_polygons( id = "NAME_1", 
               fill = "Rate" )